我現在完全在一個發燒昏睡的狀態,打完疫苗手有夠酸根本舉不起來,
但是我今天還是順利的完成鐵人發文了,這是怎麼做到的呢?
答案就是Selenium + WebDriver喔!
之前看到有人打好草稿卻忘記發文,要重新報名一次鐵人賽,
我在這裡鄭重地跟他道歉,對不起,我太晚出現在你的生命裡了!
如果我早點發這篇,你就不會忘記發文了>< (打文章的時候還沒發燒,所以才有心情開玩笑)
使用環境
程式碼
from selenium import webdriver
import time
import datetime
options = webdriver.ChromeOptions()
prefs = {
'profile.default_content_setting_values':
{
'notifications': 2
}
}
options.add_experimental_option('prefs', prefs)
options.add_argument("disable-infobars")
driver = webdriver.Chrome(options=options) # 我是用chrome,如果用別的瀏覽器要改
driver.maximize_window() # 視窗最大化
driver.get("https://ithelp.ithome.com.tw/articles/10260989/draft") # 前往我要發的草稿文章連結
driver.find_element_by_id('account').send_keys('你的帳號') # 填入帳號
driver.find_element_by_id('password').send_keys('你的密碼') # 填入密碼
driver.find_element_by_xpath('/html/body/div/div/div/form/button').click() # 點登入
while True:
time.sleep(1) #每一秒偵測一次時間
time_now = datetime.datetime.now() # 開始計時
print(time_now)
if time_now.month==9 and time_now.day==11 and time_now.hour==12 and time_now.minute == 00 and time_now.second==00: # 設定你要發文的時間
driver.get("https://ithelp.ithome.com.tw/articles/10260989/draft") # 回到草稿網址
driver.find_element_by_xpath('/html/body/div[3]/div/div/div[1]/div/form[2]/div[4]/div[2]/div/button').click() # 點儲存草稿旁邊的三角形
time.sleep(2) driver.find_element_by_xpath('/html/body/div[3]/div/div/div[1]/div/form[2]/div[4]/div[2]/div/ul/li[1]/input').click() # 點發表文章,下下篇再解釋元素定位方法喔
成果發表會
因為測試草稿沒打內文所以不會被發出去~
如果要設定一次發很多篇,可以把要發的草稿連結放到陣列裡面設定每天12點跑喔!
大家要記得一定要裝WebDriver才能執行上面的程式碼喔!
詳細的Selenium用法我們明天跟環境安裝一起講~
祝大家都能鍊成鐵人!
打卡
你也是昨天打疫苗喔?
另外推個其實我沒用過的東西XD
實在是太不舒服了,趁現在退燒趕快來發文
跪求新功能~
幫我寫文章順便發文~ XD
不然我睡死了,忘記文章還沒寫
這就用 AI,練出一個自己風格的 model,剛好,也是 Python 可以做到的
這真的可以做到? 太強了吧~ XD
可以來找看看
做是做得到,但現在中文領域比較弱,英文的話,已經有應用在新聞產業上了。
這篇文章可以參考
https://leemeng.tw/how-to-generate-interesting-text-with-tensorflow2-and-tensorflow-js.html
10 號打疫苗 +1
文字編輯器推 VS Code,個人覺得比 notepad++ 好用
我都拿notepad++看log,順便拿來寫程式哈哈XD
想到以前有邦友分享過
寫成html自動發文的方法
https://ithelp.ithome.com.tw/questions/10130425